package com.leruan.aasimp.service;

import java.util.List;
import java.util.Map;

import com.leruan.aasimp.bean.CarBasicCarTypeBean;
import com.leruan.aasimp.bean.CarBasicDemioTypesBean;
import com.leruan.aasimp.entity.CarBasicInfo;
import com.leruan.aasimp.entity.CarBasicInfoLog;
import com.leruan.aasimp.entity.CarDemioInfo;

public interface  BasicCarService {
	
	/**
	 *
	 * 
	 * */
	public void save(CarBasicInfo cardBasicInfo) throws Exception;

	/**
	 * 获取品牌
	 * 
	 * @throws Exception
	 * */
	public List<String> getBrandList() throws Exception;

	/**
	 * 根据品牌获取车系
	 * 
	 * @throws Exception
	 * */
	public List<String> getDepartmentListByBrand(String brand) throws Exception;
	
	/**
	 * 根据车系获取车型
	 * 
	 * @throws Exception
	 * */
	public List<String> getCarTypeListByDepartment(String department)throws Exception;
	
	/**
	 * 根据id得到汽车出厂配置信息
	 * 
	 * @throws Exception
	 * */
	public CarBasicInfo getCarBasicInfoById(String id)throws Exception;

	/**
	 * 拿到车系链接日志数据
	 * 
	 * @throws Exception
	 * */
	public List<CarBasicInfoLog> findAllLog()throws Exception;

	/**
	 * 获取汽车车系代号
	 * 
	 * @throws Exception
	 * */
	public List<CarBasicDemioTypesBean> getDemioTypesList()throws Exception;

	/**
	 * 根据条件查询车系信息
	 * 
	 * @throws Exception
	 * */
	public List<CarDemioInfo> findDemioList(Map<String, String> map)throws Exception;

	/**
	 *根据车系代号得到车型信息
	 * 
	 * @throws Exception
	 * */
	public List<CarBasicCarTypeBean> getCarTypes(String demioType, String carType)throws Exception;
	
	/**
	 * 根据车系代号获取车系信息
	 * 
	 * @throws Exception
	 * */
	public CarDemioInfo getCarDemioInfo(String demioType)throws Exception;

	/**
	 * 根据车系代号串获取车系信息
	 * 
	 * @throws Exception
	 * */
	public List<CarDemioInfo> getCarDemioInfoList(String demioTypes)throws Exception;

	/**
	 * 根据id获取图片路径
	 * 
	 * @throws Exception
	 * */
	public List<String> getImagesUrlById(String id)throws Exception;

	public Long getCarBasicId(String brand, String department, String carType)throws Exception;
}
